//
//  GYTask.h
//  LockManagement
//
//  Created by 丁燕春 on 2018/8/5.
//  Copyright © 2018年 yunjiazhineng. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface GYTask : NSObject

/** 任务编号 */
@property (nonatomic, assign) int taskID;

/** 任务名称 */
@property (nonatomic, strong) NSString *taskName;

/** 开始时间 */
@property (nonatomic, strong) NSString *taskBegin;

/** 结束时间 */
@property (nonatomic, strong) NSString *taskEnd;

/** 任务类型（开锁 ->2, 关锁-->3、巡更0) 可选 */
@property (nonatomic, assign) int taskType;

/** 任务状态（未授权0、已授权1），默认为已授权1，可选； */
@property (nonatomic, assign) int taskState;

/** 创建时间 */
@property (nonatomic, strong) NSString *taskTime;

/** 授权可操作锁具或区域集合 */
@property (nonatomic, strong) NSString *areas;

/** 已授权 才会有换这个字段  */
@property (nonatomic, strong) NSString *authName;


/** 额外增加一个脱机时间的属性(适应下载任务的需求) */
@property (nonatomic, strong) NSString *offineTime;


#pragma mark --  网络数据获取方法

/**
 获取任务列表

 @param success <#success description#>
 @param failed <#failed description#>
 */
+ (void)getTakListsWithKeyID:(NSString *)keyID lockName:(NSString *)lockName taskType:(NSString *)taskType taskState:(NSString *)taskState success:(void(^)(NSArray *tasks))success error:(void(^)(NSError *error))failed;

/**
 任务授权

 @param success <#success description#>
 @param failed <#failed description#>
 */
- (void)taskGive:(void(^)(BOOL successed))success error:(void(^)(NSError *error))failed;

#pragma mark -- WCDB 数据操作

/**
 创建一个任务数据表

 @return 是否成功
 */
+ (BOOL)createTaskTable;

/**
 插入一条任务数据

 @param task <#task description#>
 */
+ (void)insertTask:(GYTask *)task;

/**
 得到数据库中所有的任务数据
 */
+ (NSArray<GYTask *> *)getAllTaskData;

@end
